11 research outputs found
Bridging the Gap Between Research and Practice: The Agile Research Network
We report an action research-oriented approach to investigating agile project management methods which aims to bridge the gap between academic research and agile practice. We have set up a research network of academics from two universities, through which we run focussed project-based research into agile methods. Organisations are invited to suggest an âagile challengeâ and we work closely with them to investigate how challenge affects them. Our approach is both academic and practical. We use appropriate research methods such as interviews, observation and discussion to clarify and explore the nature of the challenge. We then undertake a detailed literature review to identify practical approaches that may be appropriate for adoption, and report our findings. If the organisation introduces new practices or approaches as a result of our work, we conduct an academic evaluation. Alternatively, if we uncover an under-researched area, we propose undertaking some basic research. As befits the topic, we work iteratively and incrementally and produce regular outputs.
In this paper we introduce our approach, overview research methods used in the agile research literature, describe our research model, outline a case study, and discuss the advantages and disadvantages of our approach. We discuss the importance of producing outputs that are accessible to practitioners as well as researchers. Findings suggest that by investigating the challenges that organisations propose, we uncover problems that are of real relevance to the agile community and obtain rich insights into the facilitators and barriers that organisations face when using agile methods. Additionally, we find that practitioners are interested in research results as long as publications are relevant to their needs and are written accessibly. We are satisfied with the basic structure of our approach, but we anticipate that the method will evolve as we continue to work with collaborators
Overcoming challenges in collaboration between research and practice: the agile research network
There is wide acceptance in the software engineering field that industry and research can gain significantly from each other and there have been several initiatives for encouraging collaboration between the two. However there are some often-quoted challenges in this kind of collaboration. For example, that the timescales of research and practice are incompatible, that research is not seen as relevant for practice, and that research demands a different kind of rigour than practice supports. These are complex challenges that are not always easy to overcome. For the last year we have been using an approach designed to address some of these challenges and to bridge the gap between research and practice, specifically in the agile software development arena. So far we have collaborated successfully with two partners and have investigated two practitioner-driven challenges with agile. In this short paper we will introduce the approach, how it addresses the collaboration challenges between research and practice, and describe the lessons learned from our experience
Recommended from our members
Collaboration in Pair Programming: driving and switching
This paper reports on an empirical study about the mechanisms of the collaboration of drivers and navigators in Pair Programming (PP) sessions. Based on video recordings of professional software developers, we analysed the mechanisms of role switches and how developers split the task of driving. We found that developers do not evenly contribute to the task of driving and that they spend on average a third of the session without any computer interaction focusing mainly on communication. In addition, our results show that most pairs switch roles frequently and that the frequency and fuidity of switches indicate a high level of engagement on the part of both developers
Knowledge transfer in pair programming: an in-depth analysis
Whilst knowledge transfer is one of the most widely-claimed benefits of pair programming, little is known about how knowledge transfer is achieved in this setting. This is particularly pertinent for novice-expert constellations, but knowledge transfer takes place to some degree in all constellations. We ask âwhat does it take to be a good âexpertâ and how can a ânoviceâ best learn from a more experienced developer?â. An in-depth investigation of video and audio excerpts of professional pair programming sessions using Interaction Analysis reveals: six teaching strategies, ranging from âgiving direct instructionsâ to âsubtle hintsâ; and challenges and benefits for both partners. These strategies are instantiations of some but not all teaching methods promoted in cognitive apprenticeship; novice articulation, reflection and exploration are not seen in the data. The context of pair programming influences the strategies, challenges and benefits, in particular the roles of driver and navigator and agile prioritisation which considers business value rather than educational progression. Utilising these strategies more widely and recognizing the challenges and benefits for both partners will help developers to maximise the benefits from pairing sessions
Disengagement in pair programming: does it matter?
Pair Programming (PP) requires close collaboration and mutual engagement. Existing empirical studies of PP do not focus on developersâ behaviour during PP sessions, and focus instead on the effects of PP such as productivity. However, disengagement, where a developer is not focusing on solving the task or understanding the problem and allows their partner to work by themselves, can hinder collaboration between developers and have a negative effect on their performance. This paper reports on an empirical study that investigates disengagement. Twenty-one industrial pair programming sessions were analysed to investigate circumstances that led to disengagement. We identified five reasons for disengagement: division of work, simple tasks, interruptions, social pressure on inexperienced pair programmers, and time pressure. Our findings suggest that disengagement is sometimes acceptable and agreed upon between the developers in order to speed up problem solving. However, we also found episodes of disengagement where developers âdrop outâ of their PP sessions and are not able to follow their partnerâs work nor contribute to the task at hand, thus losing the expected benefits of pairing. Analysis of sessions conducted under similar circumstances but where mutual engagement was sustained identified three behaviours that help to maintain engagement: encouraging the novice to drive, verbalisation and feedback, and asking for clarification
A Coding Scheme Development Methodology Using Grounded Theory for Qualitative Analysis of Pair Programming
A number of quantitative studies of pair programming (the practice of two
programmers working together using just one computer) have partially conflicting
results. Qualitative studies are needed to explain what is really going on. We support
such studies by taking a grounded theory (GT) approach for deriving a coding scheme
for the objective conceptual description of specific pair programming sessions
independent of a particular research goal. The present article explains why our initial
attempts at using GT failed and describes how to avoid these difficulties by a
predetermined perspective on the data, concept naming rules, an analysis results
metamodel, and pair coding. These practices may be helpful in all GT situations,
particularly those involving very rich data such as video data. We illustrate the
operation and usefulness of these practices by real examples derived from our coding
work and present a few preliminary hypotheses regarding pair programming that have
surfaced